Natural language based service selection system and method, service query system and method

ABSTRACT

The present invention relates to a natural language based service selection system for complementing incomplete queries, which comprises a semantic analyzing device which analyzes an incomplete query from a user semantically, a service selecting device which complements the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service, and a retrieving device which retrieves an answer according to the selected service. The present invention also relates to a natural language based service selection method as well as a service query system and method thereof, and thus can process an incomplete query from a user and provide a selected service.

BACKGROUND OF THE INVENTION

1. Field of Invention

The present invention relates to the field of natural language processing, and in particular to a natural language based service selection system and method as well as a service query system and method, which can complement incomplete queries so as to obtain a selected service and provide the corresponding query answer.

2. Description of Prior Art

The existing service selection system based on natural language allows a user to query various services in natural language, and then the system selects any service corresponding to the user's query from these services and feeds the answer back to the user. Such conventional service selection system based on natural language, however, can process only a complete natural language query from the user. If the user enters an incomplete query, that is, the query lacks some essential parameters, the system has difficulty in effectively handling such query, especially in finding the lost part of the query.

There have been some natural language based service selection systems, which can analyze and retrieve a service database according to the query inputted by a user so as to select a service corresponding to the user query from various service.

Patent Application No. JP2002351913 proposes a method in which a web service having optimal waiting time can be selected from all types of web services according to the history of user access to these web services (which particularly contains user name, longest waiting time, service type, latest access time, etc.) so as to avoid excessive load on network and service.

Patent Application No. JP2004054781 discloses a method which can extracts key words for retrieval from a user query in natural language and then select from various services the service corresponding to the key words for retrieval.

Patent Application No. JP2004288118 provides a method which can, based on service register data supplied by a service provider, select not only a service corresponding to a user query but also other services relevant to the service from a plurality of services.

SUMMARY OF THE INVENTION

The present invention is made to address the above problems. The object of the present invention is to process effectively an incomplete query. In other word, even though a query entered by the user is not complete, the invention can process it accordingly to obtain a selected service and thus a query answer.

According to the first aspect of the present invention, a natural language based service selection system for complementing incomplete queries is provided, comprising a semantic analyzing device which analyzes an incomplete query from a user semantically, a service selecting device which complements the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service, and a retrieving device which retrieves an answer according to the selected service.

According to the second aspect of the present invention, a natural language based service selection method for complementing incomplete queries is provided, comprising a semantic analyzing step of analyzing an incomplete query from a user semantically, a service selecting step of complementing the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service, and a retrieving step of retrieving an answer according to the selected service.

According to the third aspect of the present invention, a query system is provided, comprising a query receiver which receives a user query, a semantic analyzing device which parses the user query and semantically analyzes the query, a service selecting device which complements the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service, a retrieving device which retrieves an answer according to the selected service, and an answer sender which sends the answer to the user.

According to the fourth aspect of the present invention, a query method is provided, comprising a query receiving step of receiving a user query, a semantic analyzing step of parsing the user query and semantically analyzes the query, an service selecting step of complementing the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service, a retrieving step of retrieving an answer according to the selected service, and an answer sending step of sending the answer to the user.

According to the fifth aspect of the present invention, a query system is provided, comprising a query receiver which receives a user query, a semantic analyzing device which parses the user query and semantically analyzes the query, a determining device which determines whether the user query is an complete user query, a first service selecting device which performs a process on the complete query so as to acquire a first selected service, a second service selecting device which complements the incomplete query so as to acquire a second selected service, a retrieving device which retrieves an answer according to the first selected service or the second selected service, and an answer sender which sends the answer to the user.

According to the sixth aspect of the present invention, a query method is provided, comprising a query receiving step of receiving a user query, a semantic analyzing step of parsing the user query and semantically analyzes the query, a determining step of determining whether the user query is an complete user query, a first service selecting step of performing a process on the complete query so as to acquire a first selected service, a second service selecting step of complementing the incomplete query so as to acquire a second selected service, a retrieving step of retrieving an answer according to the first selected service or the second selected service, and an answer sending step of sending the answer to the user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 a is a schematic diagram showing a natural language based service selection system according to the present invention;

FIG. 1 b is a flowchart showing a natural language based service selection method according to the present invention;

FIG. 2 a is a block diagram. showing an example of a service mapping rule base according to the present invention;

FIG. 2 b is a flowchart showing a method for generating a service mapping rule base;

FIG. 3 is a block diagram showing an example of a user query history base according to the present invention;

FIG. 4 a is a block diagram showing an example of a fact base according to the present invention;

FIG. 4 b is a schematic diagram showing a known semantic analyzing device;

FIG. 5 a is a schematic diagram showing a service selecting device according to the present invention;

FIG. 5 b is a schematic diagram showing a service selecting method according to the present invention;

FIG. 6 a is a block diagram showing a semi-automatic service selecting section according to the present invention;

FIG. 6 b is a flowchart showing a semi-automatic service selecting method;

FIG. 6 c shows an example of semi-automatic service selection;

FIG. 7 a is a block diagram showing a automatic service selecting section according to the first embodiment of the present invention;

FIG. 7 b is a flowchart showing a automatic service selecting method according to the first embodiment of the present invention;

FIG. 7 c shows an example of service selection;

FIG. 8 a is a block diagram showing a service selecting section according to the second embodiment of the present invention;

FIG. 8 b is a flowchart showing a service selecting method according to the second embodiment of the present invention;

FIG. 8 c shows another example of service selection;

FIG. 9 a is a block diagram showing a service selecting section according to the third embodiment of the present invention;

FIG. 9 b is a flowchart showing a service selecting method according to the third embodiment of the present invention;

FIG. 9 c shows still another example of service selection according to the present invention;

FIG. 10 a is a block diagram showing a natural language based service query system according to an embodiment of the present invention;

FIG. 10 b is a schematic diagram showing how the natural language based service query system performs query process;

FIGS. 11 a and 11 b shows flowcharts of the first and second embodiments of a retrieval method, respectively;

FIGS. 12 a and 12 b shows a service selecting device used in a mobile terminal and an ASP, respectively.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Hereafter, a description will be made to the preferred embodiments of the present invention with reference to the figures, throughout which like elements are denoted by like reference symbols or numbers. In the following description, the details of any known function or configuration will not be repeated, otherwise they may obscure the subject of the present invention.

In general, the existing query device cannot process a query inputted by a user if the query is incomplete and thus cannot provide the user with his/her expected query answer. The service selection system according to the present invention, however, can complement an incomplete query from a user and thus retrieve an answer desired by the user. FIG. 1 a shows a natural language based service selection system according to the present invention, which comprises a query receiver 10 for receiving a natural language query inputted by a user via a mobile terminal, such as a mobile phone, a semantic analyzing device 20 for analyzing the received natural language query to obtain a structured semantic analysis result, a service selecting device 30 for determining and complementing the lost content in the incomplete query based on the semantic analysis result so as to acquire a selected service, a retrieving device 40 for retrieving an answer according to the selected service, and an answer sender 50 for sending the retrieved answer to the user terminal. The service selection system further comprises a storage device 16, such as a hard disk, which stores a service mapping rule base 160, a user query history base 162 and a fact base 164.

FIG. 1 b shows a flowchart of a natural language based service selection method. At S101, the query receiver 10 receives a natural language query sent from a user via a mobile terminal, such as a mobile phone, and transmits the query to the semantic analyzing device 20. The semantic analyzing device 20 analyzes the received natural language query at S102. FIG. 4 b shows a block diagram of a known semantic analyzing device, which serves to understand the user's natural language query so as to obtain a structured semantic analysis result as well as includes a query word division unit 401 and a semantic marking unit 402. The query word division unit 401 performs word division on the natural language query with a word database, such as a dictionary, and then the semantic marking unit 402 performs semantic marking on the division result based on a semantic knowledge base so as to generate the semantic analysis result, which is usually formed of a requirement and a set of parameters and parameter values. Each parameter corresponds to its parameter value. Referring to FIG. 4 b, for example, if the nature language query entered by the user is “How high is the temperature in Beijing today?”, this natural language query is subjected to word division by the query word division unit 401 to generate a word division result “How high is the temperature; in Beijing; today”. Then, the result undergoes semantic analysis by the semantic marking unit 402. Specifically, according to the semantic knowledge base, it can be learnt that “Beijing represents a place” and “today represents a date”. As such, the semantic marking unit 402 marks “Beijing” in the natural language query as the parameter value of the first parameter “place”, and “today” as the parameter value of the second parameter “date”. It further extracts the interrogative “How high is the temperature” as the requirement. Eventually, the obtained result is “requirement: How high is the temperature, place: Beijing, date: today”.

At S103, the service selecting device 30 analyzes the semantically-analyzed query in terms of completeness by use of the service mapping rule base 160, the user query history base 162 or the fact base 164 and then complement any lost content to obtain a service which is selected from various services provided from the service mapping rule base according to the user query. The retrieving device 40 retrieves the corresponding answer based on the selected service at S104. The retrieving device may return only the answer corresponding to the user query, as shown in FIG. 11 a, through a method comprising steps of:

(1) information search, that is, finding the service provider corresponding to the service type in the selected service and then sending the service parameters in the selected service to the service provider which will search and return a corresponding retrieval result; and

(2) answer generation, that is, generating the final answer according to the retrieval result returned by the service provider. An integration is required for respective retrieval results if there are a number of service providers. The integration can be implemented in any relevant known method, such as ranking these results based on the credit standing of each service provider.

Referring to the above example of the user query “How high is the temperature in Beijing today?”, based on the selected service “service type: weather; place: Beijing; date: today”, the system can find service providers corresponding to the service type “weather”, such as China Weather Bureau, Weather Query Website and the like, send the service parameters “place: Beijing; date: today” to the service providers and receive and integrate the retrieval results returned by them.

The retrieving device 40 can also return other relevant answers, as shown in FIG. 11 b in which there is a step of finding relevant services, that is, finding other services relevant to the user query. For example, when a user queries how to get to a place, the system can provide information of relevant services, such as weather, traffic and the like in addition to providing a route. This can be realized in a prior art manner, for example, predefining a service relevancy table for recording relevancy between different service types and then finding a relevant service type on the basis of the service relevancy table.

The retrieved answer is sent to the user terminal by the answer sender 102 at S105.

In the present invention, the service selecting device 30 in the service selection system utilizes the service mapping rule base 160, the user query history base 162 or the fact base 164 to determine the lost content in the query and therefore complement the lost content so as to select the corresponding service. Accordingly, the following description is made with respect to the structures of the service mapping rule base 160, the user query history base 162 and the fact base 164 with respect to FIGS. 2 a, 2 b, 3 and 4. Then, a detailed explanation will be given to the inventive service selection system in connection to the service mapping rule base, the user query history base and the fact base.

The service mapping rule base 160 stores multiple sets of service mapping rules. When the match is established between the user's nature language query and a service mapping rule in the service mapping rule base 160, a service corresponding to the rule can be found. FIG. 2 a shows an example of the service mapping rule base 160. As shown in FIG. 2 a, one piece of service mapping rule is generally composed of number, requirement, service type and service parameters. The requirement represents what is the question from the user query, that is, what service is related to the answer expected by the user. The service type defines the service category to which the query question belongs. The service parameters describe service type and service invocation interface, and the service provider can conduct retrieval based on service parameters. Each piece of rule stored in the service mapping rule base 160 represents “when a user query conforms to a specified requirement, which service type the query corresponds to and what is the corresponding service parameter”.

Take the first piece of mapping rule in FIG. 2 a as an example, since the requirement in the user query is “how high is the temperature”, the query corresponds to the service type “weather”, and the service parameter are place and date.

FIG. 2 b shows an example of a method for generating the service mapping rule base. First, a set of actual user queries is gathered from respective service providers. Then, a query corpus is established from the gathered user queries. Here, any semantic analyzing method in the prior art can be utilized to analyze each user query and obtain a semantic analysis result for the purpose of query corpus establishment. Lastly, the similarity between the marking results of all the queries for each service type is analyzed in the query corpus, and certain service mapping rule is extract from the similarity and written into the service mapping rule base.

For example, those frequently-asked queries, such as “how high is the temperature in Beijing today?” or “how high is the temperature in Shanghai tomorrow?”, are first gathered from weather service providers. Then a query corpus is established from semantic analysis results obtained through semantic analysis, and all queries related to the service type “weather” are analyzed to extract the common requirement “how high is the temperature” as well as the common parameters “place” and “date” so as to finally generate a service mapping rule for “weather”. Although the above method generates the service mapping rule base automatically, the base can be manually generated by summarizing various service mapping rules by an operator. Alternatively, the service mapping rule base can be semi-automatically generated, that is, first generating service mapping rules automatically, and then correcting them manually.

FIG. 3 shows an example of the user query history base, which stores all user query records. Generally, one piece of user query record consists of user, query question, query time, service type and query parameter, and the query parameter can comprises a set of parameters each having a corresponding parameter value.

Take the first piece of user query record in FIG. 3 as an example, it represents that Tom made a query of “where is Beijing Hotel?” at 16:25 on Aug. 2, 2007, in which the service type is “location”, the parameter “place” has a value of “Beijing Hotel”.

The user query history is generated automatically. To be specific, every time processing on one user query is completed, the system stores, as one query record, the user, query question, query time and selected service.

FIG. 4 a shows an example of the fact base, which describes customary or default knowledge. As shown in FIG. 4 a, each fact is usually composed of number, service type, lost parameter and default value, and represents “when a user queries some service, what is the default value of a parameter if it is lost”. Take the first fact as an example, which means “when a user queries traffic service, the time is considered as now (i.e., the current moment) by default if the user does not specify any time.” The second fact represents “when a user queries weather service, the date is considered as today (i.e., this day) by default if the user does not specify any date.”

The fact base is created primarily by summarizing characteristics of respective services manually.

FIG. 5 a shows a schematic block diagram of the service selecting device according to the present invention. Generally speaking, a natural language query inputted by a user may be incomplete and may lack some necessary parameter values. For example, the user wants to make queries of “how high is the temperature in Beijing today?” and “how can I get to Beijing Airport from Zhongguancun?”, while he actually inputs the queries of “how high is the temperature in Beijing?” and “how can I get to Beijing Airport?”, which lack the parameter values “today” and “from Zhongguancun”, respectively. With the existing natural language based service selection system, such incomplete queries cannot be processed and thus the user cannot obtain any answer related to his or her desired service. On the other hand, the service selecting device in the present invention can obtain a selected service by complementing such incomplete queries automatically or semi-automatically. Therefore, a complete query can be generated and the corresponding query answer can be provided to the user with the application of the service selecting device in the present invention, even though the user inputs an incomplete query.

Now turning to FIG. 5 a, the service selecting device includes an input section (not shown) for receiving the semantically-analyzed user query, an automatic service selecting section 51 for complementing automatically an incomplete query based on the user's natural language query utilizing at least one of the service mapping rule base 160, the user query history base 162 or the fact base 164 so as to acquire a selected service, a semi-automatic service selecting section 52 for complementing an incomplete query through interaction with the user so as to acquire a selected service when the automatic service selecting section 51 does not obtain the selected service, or for complementing an incomplete query in the case that the user considers the result from the automatic service selecting section 51 not to comply with his or her query, and an output section (not shown) for outputting the selected service.

FIG. 5 b shows a flowchart of the service selecting method according to the present invention. At S501, the service selecting device receives the semantically-analyzed query. At S502, the automatic service selecting section 51 complements automatically the incomplete query based on the user's natural language query by utilizing at least one of the service mapping rule base 160, the user query history base 162 or the fact base 164 so as to acquire a selected service. When the automatic service selecting section 51 does not obtain the selected service or the user considers the result from the automatic service selecting section 51 does not comply with his or her query, the semi-automatic service selecting section 52 at S503 complements the incomplete query through interaction with the user so as to acquire the selected service. FIG. 6 a shows a detailed block diagram of the semi-automatic service selecting section 52 according to the present invention. The semi-automatic service selecting section 52 comprises an input unit 61 for receiving a semantic analysis result obtained from analysis of a natural language query, a lost content searching unit 62 for matching the semantic analysis result with the service mapping rule in the service mapping rule base, finding a matched service mapping rule and extracting from it the service type and the service parameter lost in the query, a user interacting unit 63 for interacting with the user and acquiring the feedback information from the user, a parameter value extracting unit 64 for extracting the lost parameter valued from the feedback information of the user, a query complementing unit 65 for adding the service type, the lost service parameter and the lost parameter value into the semantic analysis result to complement the incomplete query so as to generate the selected service, and an output unit 66 for outputting the selected service after the above complementation.

FIG. 6 b shows a flowchart of the semi-automatic service selecting method. At S601, the input unit 61 receives a semantically-analyzed query in natural language from the user terminal. The lost content searching unit 62 at S602 matches the semantic analysis result with the service mapping rule in the service mapping rule base, finds a matched service mapping rule and determines the lost service parameter. Then, it extracts from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query. Here, the matching scheme used by the lost content searching unit includes: (1) the requirement of the service mapping rule is identical to the requirement of the semantic analysis result; and (2) the service parameter of the service mapping rule contains the parameter of semantic analysis result. At S603, prompt information is generated to prompt the user to input the lost parameter value based on the lost parameter found in S602 and sent to the user, and the feedback information is in turn received from the user with respect to the prompt information. Since the feedback information of the user may contain some words other than the lost parameter value, the latter needs to be extracted from the feedback information at S604 after the reception of the user feedback. Here, the same semantic marking method as used in the above semantic analysis can be utilized to semantically mark the feedback information of the user and find words corresponding to the lost parameter as the lost parameter value. At S605, the query complementing unit 65 fills the service type, the lost service parameter and the lost parameter value into the semantic analysis result to complement the incomplete query and generate the selected service. Lastly, the output unit 66 outputs the selected service at S606. Automatic service selection can be performed in addition to the above semi-automatic service selection through interaction with the user.

FIG. 6 c shows an example of automatic service selection, in which the user query is “how high is the temperature in Beijing?”, and the semantic analysis result is “requirement: how high is the temperature; place: Beijing”.

-   -   First step of searching lost content: the first rule in the         service mapping rule base has the same requirement “how high is         the temperature” as that of the semantic analysis result, and         the service parameters “<place>;<date>” contain the parameter         “place” of the semantic analysis result, the first rule is         therefore taken as a matched rule, with the service type         “weather” being extracted and “date” being the parameter lost in         the query;     -   Second step of interacting with the user: generating prompt         information “which date do you want to specify in your weather         query?” and sending it to the user, and then receiving the user         feedback “I want to query today's weather”;     -   Third step of extracting the parameter value: taking “today” in         the user feedback as the lost parameter value since this word         belongs to the lost parameter “date”;     -   Final step of complementing the query: adding the service type         “weather”, the lost parameter “date” and the lost parameter         value “today” into the semantic analysis result to obtain a         selected service “service type: weather; place: Beijing; date:         today”.

FIG. 7 a shows the first embodiment of the automatic service selecting section 61 according to the present invention, which complements an incomplete natural language query from a user based on a current user query history base. The automatic service selecting section 61 includes an input unit 71 for receiving the inputted semantic analysis result, a current user query history base 77 storing all records of queries by a user who is exactly the user of the current query, a lost content searching unit 72 for matching the semantic analysis result with the service mapping rule in the service mapping rule base, finding a matched service mapping rule, determines the lost service parameter, and extracting from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query, a latest query detecting unit 73 for detecting the history of the latest user query, i.e., the last query made by the user, and extracting the corresponding lost parameter value if the parameter lost in the current query is contained in the latest user query, a similar query detecting unit 74 for searching the history query that contains the lost parameter in the current query as a similar query from the current user query history base 77 when there is no parameter value extracted by the latest query detecting unit 73, and extracting the parameter value corresponding to the lost parameter in current query from the similar query if it contains the parameter lost in the current query, a query complementing unit 75 for adding the service type, the lost parameter and the parameter value into the semantic analysis query so as to obtain the selected service, and an output unit 76 for outputting the selected service.

FIG. 7 b shows a flowchart of the first embodiment of the automatic service selecting method. At S701, the input unit 71 receives a semantically-analyzed query in natural language from the user. The lost content searching unit 72 at S702 matches the semantic analysis result with the service mapping rule in the service mapping rule base 160, finds a matched service mapping rule and determines the lost service parameter. Then, it extracts from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query. Here, the matching scheme used by the lost content searching unit 72 is the same as that used in the method shown in FIG. 6 b.

At S703, the latest query detecting unit 73 searches the last query made by the user. Detecting the latest query, i.e., the last query made by the user, at first can accelerate the query process, since the user may omit some words while making several queries successively. The detailed method is: finding the latest query made by the user in the current user query history base 77, with a query interval being set to be smaller than a particular threshold; checking whether the latest query contains the parameter lost in the current query; if the answer is Yes, extracting the corresponding parameter value as the lost parameter value and then performing the step S705; otherwise, performing the step 8704.

At S704, the similar query detecting unit 74 searches the current user query history base for a query similar to the current query, and extracts the parameter value corresponding to the lost parameter in current query from the similar query if it contains the parameter lost in the current query. The determination of the similar query is made such that a query is considered as the similar query if (1) the service type obtained at the lost content searching step is identical to that of the history query in the current user query history base; and/or (2) the query parameter of the history query contains the query parameter of the semantically-analyzed query (preferably, both the queries have the same parameter value).

At S705, the service type, the lost parameter and the parameter value are added into the semantic analysis query to obtain the selected service. Finally, the selected service is outputted at S706.

FIG. 7 c shows an example of the implementation of service selection, in which the user Tom makes a query of “how to contact?”, and the semantic analysis result is “requirement: how to contact”.

-   -   First step of searching lost content: the second rule in the         service mapping rule base has the same requirement “how to         contact” as that of the semantic analysis result, and there is         no parameter in the semantic analysis result, the second rule is         therefore taken as a matched rule, with the service type         “telephone” being extracted and the service parameter “place”         being the parameter lost in the query;     -   Second step of detecting the latest query: since the last query         made by Tom is “where is Beijing Hotel?”, and the query         parameter is “place: Beijing Hotel” which contains the lost         parameter “place”, the corresponding parameter value “Beijing         Hotel” is extracted;     -   No similar query is detected when the above latest query         detection is successful;     -   Final step of complementing the query: adding the service type         “telephone”, the lost parameter “place” and the lost parameter         value “Beijing Hotel” into the semantic analysis result to         obtain a selected service “service type: telephone; place:         Beijing Hotel”.

FIG. 8 a shows the second embodiment of the automatic service selection section according to the present invention.

This automatic service selection section of the second embodiment complements a natural language query from a user based on other user query history base. Such service selection section comprises an input unit 81 for receiving the inputted semantic analysis result, an other user query history base 86 storing all records of queries by other users, a lost content searching unit 82 for matching the semantic analysis result with the service mapping rule in the service mapping rule base, finding a matched service mapping rule, determines the lost service parameter, and extracting from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query, a similar query detecting unit 83 for searching a query similar to the current query from the other user query history base 86 and extracting the parameter value from the similar query as the parameter value lost in the current query, a query complementing unit 84 for adding the service type, the lost parameter and the parameter value into the semantic analysis query so as to obtain the selected service, and an output unit 85 for outputting the selected service.

FIG. 8 b shows a flowchart of the second embodiment of the automatic service selecting method.

At S801, the input unit 81 receives a semantically-analyzed query in natural language from the user. The lost content searching unit 82 at S802 matches the semantic analysis result with the service mapping rule in the service mapping rule base 160, finds a matched service mapping rule and determines the lost service parameter. Then, it extracts from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query. Here, the matching scheme used by the lost content searching unit 82 is the same as that used in the method shown in FIG. 6 b.

At S803, the similar query detecting unit 83 searches the other user query history base for a query similar to the current query, and extracts the parameter value corresponding to the lost parameter in current query from the similar query if it contains the parameter lost in the current query. The determination of the similar query is made such that a query is considered as the similar query if (1) the service type obtained at the lost content searching step is identical to that of the history query in the other user query history base; and/or (2) the query parameter of the history query contains the query parameter of the semantically-analyzed query (preferably, both the queries have the same parameter value).

At S804, the service type, the lost parameter and the parameter value are added into the semantic analysis query to obtain the selected service. Finally, the selected service is outputted at S805.

FIG. 8 c shows an example of the implementation of service selection, in which the user makes a query of “how high is the temperature in Beijing?”, and the semantic analysis result is “requirement: how high is the temperature; place: Beijing”.

-   -   First step of searching lost content: the first rule in the         service mapping rule base has the same requirement “how high is         the temperature” as that of the semantic analysis result, and         the service parameters “<place>;<date>” contain the parameter         “place” of the semantic analysis result, the first rule is         therefore taken as a matched rule, with the service type         “weather” being extracted and “date” being the parameter lost in         the query;     -   Second step of detecting the similar query: there exists a query         made by another user John, “how high is the temperature in         Beijing today?”, in which the service type is “weather”, the         query parameter “place: Beijing; date: today” contains the         parameter “place” in the semantic analysis result, and both of         the parameter values are “Beijing”, this query is thus regarded         as the similar query; since the similar query contains the lost         parameter “date”, the corresponding parameter value “today” is         extracted;     -   Final step of complementing the query: adding the service type         “weather”, the lost parameter “date” and the lost parameter         value “today” into the semantic analysis result to obtain a         selected service “service type: weather; place: Beijing; date:         today”.

FIG. 9 a is a schematic diagram showing the third embodiment of the automatic service selection section according to the present invention.

This automatic service selection section of the third embodiment complements a natural language query from a user based on a fact base.

Such service selection section comprises an input unit 91 for receiving the inputted semantic analysis result, a lost content searching unit 92 for matching the semantic analysis result with the service mapping rule in the service mapping rule base, finding a matched service mapping rule, determines the lost service parameter based on the matched service mapping rule, and extracting from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query, a fact matching unit 93 for matching the semantic analysis result with each fact in the fact base 96, finding a matched fact and extracting the default value in the matched fact as the parameter value lost in the current query, a query complementing unit 94 for adding the service type, the lost parameter and the parameter value of the lost parameter into the semantic analysis query so as to obtain the selected service, and an output unit 95 for outputting the selected service.

FIG. 9 b shows a flowchart of the third embodiment of the automatic service selecting method according to this invention.

At S901, the input unit 91 receives a semantically-analyzed query in natural language from the user. The lost content searching unit 92 at S902 matches the semantic analysis result with the service mapping rule in the service mapping rule base 160, finds a matched service mapping rule and determines the lost service parameter. Then, it extracts from the matched service mapping rule the service type to which the query belongs and the service parameter lost in the query. Here, the matching scheme used by the lost content searching unit 92 is the same as that used in the method shown in FIG. 6 b.

At S903, the fact matching unit 93 finds a matched fact by matching the semantic analysis result with each fact in the fact base 96 and extracting the default value in the matched fact as the parameter value lost in the current query. The determination of the matched fact is made such that a fact is considered as the matched query if (1) the service type obtained at the lost content searching step is identical to that of a fact in the fact base; and/or (2) the lost parameter in the fact is identical to that obtained at the lost content searching step.

At S904, the service type, the lost parameter and the parameter value of the lost parameter are added into the semantic analysis result to obtain the selected service. Finally, the selected service is outputted at S905.

FIG. 9 c shows an example of the implementation of service selection, in which the user makes a query of “how high is the temperature in Beijing?”, and the semantic analysis result is “requirement: how high is the temperature; place: Beijing”.

-   -   First step of searching lost content: the first rule in the         service mapping rule base has the same requirement “how high is         the temperature” as that of the semantic analysis result, and         the service parameters “<place>;<date>” contain the parameter         “place” of the semantic analysis result, the first rule is         therefore taken as a matched rule, with the service type         “weather” being extracted and “date” being the parameter lost in         the query;     -   Second step of fact matching: the service type of the second         fact is “weather”, and the lost parameter is also “date”, this         fact is thus regarded as the matched fact, and the default value         “today” is extracted from the fact;     -   Final step of complementing the query: adding the service type         “weather”, the lost parameter “date” and the lost parameter         value “today” into the semantic analysis result to obtain a         selected service “service type: weather; place: Beijing; date:         today”.

FIG. 10 a shows a natural language based service query system according to an embodiment of the present invention. The difference between FIGS. 10 a and 1 a is that the natural language based service query system in FIG. 10 a further comprises a determining device 70 and a complete query processing device 80. The determining device 70 determines whether a query inputted by a user is complete. The query will be processed by the service selecting device 30 if it is determined as incomplete, otherwise the query will be transferred to the complete query processing device 80.

The determining device 70 determines whether a rule exactly matched with the semantic analysis result of a user query can be found by comparing the semantic analysis result with all service mapping rules, and, if a matched rule is found, then sends the semantic analysis result and the number of the matched rule to the complete query processing device 80; otherwise sends the semantic analysis result to the service selecting device 30. Here, a rule can be regarded as a matched rule if it meets the following conditions:

(1) the rule has the same requirement as that of the semantic analysis result;

(2) all service parameters required by the rule are contained in the semantic analysis result.

As shown in FIG. 10 b, the user makes a query of “how high is the temperature in Beijing today?”, and the semantic analysis result is “requirement: how high is the temperature; place: Beijing; date; today”. This result is exactly matched with the fist rule in the service mapping rule base, since the requirement of the result is the same as that of the rule, and the result contains all the parameters “place” and “date” of the rule. Therefore, the semantic analysis result and the number of the matched rule are sent to the complete query processing device 80 together.

The complete query processing device 80 is adapted to process those complete (without any lost content) queries to acquire the selected service. It finds out a matched rule from the service mapping rule base according to the number of the matched rule obtained by the determining unit, extract the service type and then generate the selected service by combining the semantic analysis result. Here, a selected service usually comprises one service type and a set of service parameters.

Take as an example the user query of “how high is the temperature in Beijing today?”, it is exactly matched with the first rule in the service mapping rule base. Thus, the service type “weather” of this rule is extracted and the selected service is generated as “service type: weather; place: Beijing; date: today”.

In conclusion, the above service query system can process both an incomplete query and a complete query, and thus find out an answer corresponding to the incomplete or complete query.

FIGS. 12 a and 12 b show a schematic diagram for applying the service selecting device according to the present invention to a mobile terminal and an ASP (Active Server Page), respectively. As shown in FIG. 12 a, the semantic analyzing device, the service selecting device and the retrieving device can be embedded together into the mobile terminal. Now turning to FIG. 12 b, the semantic analyzing device, the service selecting device and the retrieving device can also be embedded into the ASP so that the user can be provided with more convenient and rapid query service.

While the present invention has been described with reference to the above particular embodiments, the present invention should be defined by the appended claims other than these specific embodiments. It is obvious to those ordinarily skilled in the art that any change or modification can be made without departing from the scope and spirit of the present invention. 

1. A natural language based service selection system for complementing incomplete queries, comprising: a semantic analyzing device which analyzes an incomplete query from a user semantically; a service selecting device which complements the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service; and a retrieving device which retrieves an answer according to the selected service.
 2. The system according to claim 1, wherein the service selecting device comprises a semi-automatic service selecting section which searches the lost content in the query by using a service mapping rule base and complements the lost content through an interacting with the user so as to generate the selected service.
 3. The system according to claim 2, wherein the semi-automatic service selecting section comprises: a lost content searching unit which matches the semantically-analyzed query with the service mapping rule in the service mapping rule base, and extracts the service type to which the query belongs and the parameter lost in the query; a user interacting unit which prompts the user to input prompt information of the parameter value corresponding to the lost parameter and receives the feedback information including the parameter value from the user; a parameter value extracting unit which extracts the parameter valued from the feedback information of the user; and a query complementing unit which adds the service type, the lost parameter and the parameter value into the semantically-analyzed query, so as to generate the selected service.
 4. The system according to claim 3, wherein the lost content searching unit retrieves the service mapping rule meeting the following conditions as matched service mapping rule from the service mapping rule base: the requirement of the service mapping rule is identical to the requirement of the semantically-analyzed query; and the service parameter of the service mapping rule contains the parameter of semantically-analyzed query.
 5. The system according to claim 3, wherein the parameter value extracting unit retrieves the parameter value corresponding to the lost parameter by semantically marking the feedback information of the user.
 6. The system according to claim 1, wherein the service selecting device comprises a first automatic service selecting section which searches the lost content in the current query by using a service mapping rule base and complements the lost content through searching a current user query history base so as to generate the selected service.
 7. The system according to claim 6, wherein the first automatic service selecting section comprises: a lost content searching unit which matches the semantically-analyzed query with the service mapping rule in the service mapping rule base, and extracts the service type to which the current query belongs and the parameter lost in the current query; a latest query detecting unit which searches a latest query contained the lost parameter in the current query from the current user query history base, and extracts the parameter value corresponding to the lost parameter in the current query; and a query complementing unit which adds the service type, the lost parameter and the parameter value into the semantically-analyzed query, so as to generate the selected service.
 8. The system according to claim 6, wherein the first automatic service selecting section further comprises a similar query detecting unit which searches the history query that contains the lost parameter in the current query as a similar query from the current user query history base when there is no parameter value extracted by the latest query detecting unit, and extracts the parameter value corresponding to the lost parameter in current query from the similar query.
 9. The system according to claim 6, wherein the lost content searching unit retrieves the service mapping rule meeting the following conditions as a matched service mapping rule from the service mapping rule base: the requirement in the service mapping rule is identical to the requirement of the semantically-analyzed query; and the service parameter in the service mapping rule contains the parameter of the semantically-analyzed query.
 10. The system according to claim 8, wherein the similar query detecting unit retrieves the history query meeting the following conditions as a similar query from the current user query history base: the service type of the history query is identical to the service type to which the current query belongs; and the query parameter of the history query contains the query parameter of the semantically-analyzed query.
 11. The system according to claim 1, wherein the service selecting device comprises a second automatic service selecting section which searches the lost content in the current query by using a service mapping rule base and complements the lost content through searching an other user query history base so as to generate the selected service.
 12. The system according to claim 11, wherein the second automatic service selecting section comprises: a lost content searching unit which matches the semantically-analyzed query with the service mapping rule in the service mapping rule base, and extracts the service type to which the current query belongs and the parameter lost in the current query; a similar query detecting unit which searches the history query that contains the lost parameter in the current query as a similar query from the other user query history base, and extracts the parameter value corresponding to the lost parameter in current query from the similar query; and a query complementing unit which adds the service type, the lost parameter and the parameter value into the semantically-analyzed query, so as to generate the selected service.
 13. The system according to claim 12, wherein the lost content searching unit retrieves the service mapping rule meeting the following conditions as matched service mapping rule from the service mapping rule base: the requirement in the service mapping rule is identical to the requirement of the semantically-analyzed query; and the service parameter in the service mapping rule contains the parameter of the semantically-analyzed query.
 14. The system according to claim 12, wherein the similar query detecting unit retrieves the history query meeting the following conditions as a similar query from the other user query history base: the service type of the history query is identical to the service type to which the current query belongs; and the query parameter of the history query contains the query parameter of the semantically-analyzed query.
 15. The system according to claim 1, wherein the service selecting device comprises a third automatic service selecting section which searches the lost content in the current query by using a service mapping rule base and complements the lost content through searching a fact base so as to generate the selected service.
 16. The system according to claim 15, wherein the third automatic service selecting section comprises: a lost content searching unit which matches the semantically-analyzed query with the service mapping rule in the service mapping rule base, and extracts the service type to which the query belongs and the parameter lost in the query; a fact matching unit which matches the semantically-analyzed query with the fact in the fact base so as to find the matched fact, and extracts the fault value from the matched fact as a lost parameter value; and a query complementing unit which adds the service type, the lost parameter and the parameter value into the semantically-analyzed query, so as to generate the selected service.
 17. The system according to claim 16, wherein the lost content searching unit retrieves the service mapping rule meeting the following conditions as a matched service mapping rule from the service mapping rule base: the requirement in the service mapping rule is identical to the requirement of the semantically-analyzed query; and the service parameter in the service mapping rule contains the parameter of the semantically-analyzed query.
 18. The system according to claim 16, wherein the fact matching unit retrieves the fact meeting the following conditions as matched fact from the fact base: The service type of the fact is identical to the service type to which the query belongs; and the lost parameter in the fact is identical to the lost parameter in the query.
 19. The system according to claim 1, wherein the service selecting device comprises: an automatic service selecting section which searches the lost content in the current query by using a service mapping rule base and complements the lost content through searching a current user query history base or an other user query history base or a fact base so as to generate the selected service; and a semi-automatic service selecting section which searches the lost content in the query by using a service mapping rule base and complements the lost content is through an interacting with the user so as to generate the selected service, when the selected service generated by the automatic service selecting section is not accurate.
 20. A method of selecting service based on an incomplete query, comprising: a semantic analyzing step of analyzing an incomplete query from a user semantically; a service selecting step of complementing the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service; and a retrieving step of retrieving an answer according to the selected service.
 21. The method according to claim 20, wherein the service selecting step comprises a semi-automatic service selecting step of searching the lost content in the query by using a service mapping rule base and complementing the lost content through an interacting with the user so as to generate the selected service.
 22. The method according to claim 21, wherein the semi-automatic service selecting step comprises: a lost content searching step of matching the semantically-analyzed query with the service mapping rule in the service mapping rule base, and extracting the service type to which the query belongs and the parameter lost in the query; a user interacting step of prompting the user to input prompt information of the parameter value corresponding to the lost parameter and receiving the feedback information including the parameter value from the user; a parameter value extracting step of extracting the parameter valued from the feedback information of the user; and a query complementing step of adding the service type, the lost parameter and the parameter value into the semantically-analyzed query, so as to generate the selected service.
 23. The method according to claim 22, wherein the lost content searching step comprises a step of retrieving the service mapping rule meeting the following conditions as matched service mapping rule from the service mapping rule base: the requirement of the service mapping rule is identical to the requirement of the semantically-analyzed query; and the service parameter of the service mapping rule contains the parameter of semantically-analyzed query.
 24. The method according to claim 22, wherein the parameter value extracting step retrieving the parameter value corresponding to the lost parameter by semantically marking the feedback information of the user.
 25. The method according to claim 20, wherein the service selecting step comprises a first automatic service selecting step of searching the lost content in the current query by using a service mapping rule base and complementing the lost content through searching a current user query history base so as to generate the selected service.
 26. The method according to claim 25, wherein the first automatic service selecting step comprises: a lost content searching step of matching the semantically-analyzed query with the service mapping rule in the service mapping rule base, and extracting the service type to which the current query belongs and the parameter lost in the current query; a latest query detecting step of searching a latest query contained the lost parameter in the current query from the current user query history base, and extracting the parameter value corresponding to the lost parameter in the current query; and a query complementing step of adding the service type, the lost parameter and the parameter value into the semantically-analyzed query, so as to generate the selected service.
 27. The method according to claim 25, wherein the first automatic service selecting step further comprises a similar query detecting step of searching the history query that contains the lost parameter in the current query as a similar query from the current user query history base when there is no parameter value extracted by the latest query detecting step, and extracting the parameter value corresponding to the lost parameter in current query from the similar query.
 28. The method according to claim 26, wherein the lost content searching step comprises a step of retrieving the service mapping rule meeting the following conditions as a matched service mapping rule from the service mapping rule base: the requirement in the service mapping rule is identical to the requirement of the semantically-analyzed query; and the service parameter in the service mapping rule contains the parameter semantically-analyzed query.
 29. The method according to claim 27, wherein the similar query detecting step comprises a step of retrieving the history query meeting the following conditions as a similar query from the current user query history base: the service type of the history query is identical to the service type to which the current query belongs; and the query parameter of the history query contains the query parameter of the semantically-analyzed query.
 30. The method according to claim 20, wherein the service selecting step comprises a second automatic service selecting step of searching the lost content in the current query by using a service mapping rule base and complementing the lost content through searching a other user query history base so as to generate the selected service.
 31. The method according to claim 30, wherein the second automatic service selecting step comprises: a lost content searching step of matching the semantically-analyzed query with the service mapping rule in the service mapping rule base, and extracting the service type to which the current query belongs and the parameter lost in the current query; a similar query detecting step of searching the history query that contains the lost parameter in the current query as a similar query from the other user query history base, and extracting the parameter value corresponding to the lost parameter in current query from the similar query; and a query complementing step of adding the service type, the lost parameter and the parameter value into the semantically-analyzed query, so as to generate the selected service.
 32. The method according to claim 31, wherein the lost content searching step comprises a step of retrieving the service mapping rule meeting the following conditions as matched service mapping rule from the service mapping rule base: the requirement in the service mapping rule is identical to the requirement of the semantically-analyzed query; and the service parameter in the service mapping rule contains the parameter of the semantically-analyzed query.
 33. The method according to claim 31, wherein the similar query detecting step comprises a step of retrieving the history query meeting the following conditions as a similar query from the other user query history base: the service type of the history query is identical to the service type to which the current query belongs; and the query parameter of the history query contains the query parameter of the semantically-analyzed query.
 34. The method according to claim 20, wherein the service selecting step comprises a third automatic service selecting step of searching the lost content in the current query by using a service mapping rule base and complementing the lost content through searching a fact base so as to generate the selected service.
 35. The method according to claim 34, wherein the third automatic service selecting step comprises: a lost content searching step of matching the semantically-analyzed query with the service mapping rule in the service mapping rule base, and extracting the service type to which the query belongs and the parameter lost in the query; a fact matching step of matching the semantically-analyzed query with the fact in the fact base so as to find the matched fact, and extracting the fault value from the matched fact as a lost parameter value; and a query complementing step of adding the service type, the lost parameter and the parameter value into the semantically-analyzed query, so as to generate the selected service.
 36. The method according to claim 35, wherein the lost content searching step of retrieving the service mapping rule meeting the following conditions as a matched service mapping rule from the service mapping rule base: the requirement in the service mapping rule is identical to the requirement of the semantically-analyzed query; and the service parameter in the service mapping rule contains the parameter of the semantically-analyzed query.
 37. The method according to claim 35, wherein the fact matching step of retrieving the fact meeting the following conditions as matched fact from the fact base: The service type of the fact is identical to the service type to which the current query belongs; and the lost parameter in the fact is identical to the lost parameter in the current query.
 38. The method according to claim 20, wherein the service selecting step comprises: an automatic service selecting step of searching the lost content in the current query by using a service mapping rule base and complements the lost content through searching a current user query history base or an other user query history base or a fact base so as to generate the selected service; and a semi-automatic service selecting step of searching the lost content in the query by using a service mapping rule base and complementing the lost content through an interacting with the user so as to generate the selected service, when the selected service generated by the automatic service selecting step is not accurate.
 39. A query system, comprising: a query receiver which receives a user query; a semantic analyzing device which parses the user query and semantically analyzes the query; a service selecting device which complements the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service; a retrieving device which retrieves an answer according to the selected service; and an answer sender which sends the answer to the user.
 40. A query method, comprising: a query receiving step of receiving a user query; a semantic analyzing step of parsing the user query and semantically analyzes the query; an service selecting step of complementing the incomplete query based on the semantic-analyzed query so as to acquire the corresponding selected service; a retrieving step of retrieving an answer according to the selected service; and an answer sending step of sending the answer to the user.
 41. A query system, comprising: a query receiver which receives a user query; a semantic analyzing device which parses the user query and semantically analyzes the query; a determining device which determines whether the user query is an complete user query; a first service selecting device which performs a process on the complete query so as to acquire a first selected service; a second service selecting device which complements the incomplete query so as to acquire a second selected service; a retrieving device which retrieves an answer according to the first selected service or the second selected service; and an answer sender which sends the answer to the user.
 42. The system according to claim 41, wherein the determining device matches the semantically-analyzed query with the service mapping rule in the service mapping rule base, if the matching is success, the user query is sent to the first service selecting device; and if not, the user query is sent to the second service selecting device.
 43. The system according to claim 42, wherein the determining device determines whether the match is success according to the following conditions: the requirement of the service mapping rule is identical to the requirement of the semantically-analyzed query; and the service parameter of the service mapping rule contains the parameter of semantically-analyzed query.
 44. A query method, comprising: a query receiving step of receiving a user query; a semantic analyzing step of parsing the user query and semantically analyzes the query; a determining step of determining whether the user query is an complete user query; a first service selecting step of performing a process on the complete query so as to acquire a first selected service; a second service selecting step of complementing the incomplete query so as to acquire a second selected service; a retrieving step of retrieving an answer according to the first selected service or the second selected service; and an answer sending step of sending the answer to the user.
 45. The method according to claim 44, wherein the determining step comprises a step of matching the semantically-analyzed query with the service mapping rule in the service mapping rule base, if the matching is success, the user query is processed by the first service selecting step; and if not, the user query is processed by the second service selecting step.
 46. The method according to claim 45, wherein the determining step determines whether the match is success according to the following conditions: the requirement of the service mapping rule is identical to the requirement of the semantically-analyzed query; and the service parameter of the service mapping rule contains the parameter of semantically-analyzed query. 